
import java.util.HashMap;
import java.util.TreeMap;

/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
/**
 *
 * @author f0899
 */
public class Tehtava4 {

    public static void main(String args[]) {

        Henkilo tempHenkilo;

        //luodaan spedet
        Henkilo h1 = new Henkilo("Pekka", "11");
        Henkilo h2 = new Henkilo("Iida", "22");
        Henkilo h3 = new Henkilo("Keke", "33");
        Henkilo h4 = new Henkilo("Matti", "24");
        Henkilo h5 = new Henkilo("Jorma", "85");


        //luodaan hashmap
        HashMap<String, Henkilo> hash = new HashMap<String, Henkilo>();

        hash.put(h1.palautaSotu(), h2);
        hash.put(h2.palautaSotu(), h1);
        hash.put(h3.palautaSotu(), h3);
        hash.put(h5.palautaSotu(), h5);
        hash.put(h4.palautaSotu(), h4);

        //luodaan treemap
        TreeMap<String, Henkilo> tree = new TreeMap<String, Henkilo>();
        tree.put(h1.palautaSotu(), h2);
        tree.put(h2.palautaSotu(), h1);
        tree.put(h3.palautaSotu(), h3);
        tree.put(h5.palautaSotu(), h5);
        tree.put(h4.palautaSotu(), h4);

        //tulostetaan sotu 22:n tiedot
        tempHenkilo = (Henkilo) hash.get("22");
        System.out.println("Hashmap sotu 22: " + tempHenkilo.tulostaTiedot());

        //tulostetaan tietorakenteen sisältö
        String toString = hash.toString();
        System.out.println("Hashmap-tietorakenteen sisältö: " + toString);

        //tulostetaan treemapilla yksi henkilö
        tempHenkilo = (Henkilo) tree.get("22");
        System.out.println("Treemap sotu 22: " + tempHenkilo.tulostaTiedot());
        toString = tree.toString();
        System.out.println("Treemap-tietorakenteen sisältö: " + toString);
    }

    private static class Henkilo {

        String nimi;
        String sotu;

        public Henkilo(String nim, String sot) {
            nimi = nim;
            sotu = sot;
        }

        public String palautaSotu() {
            return this.sotu;
        }

        public String tulostaTiedot() {
            return this.sotu + " " + this.nimi;
        }
    }
}
